package com.kgc.sbt.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * order_info
 * @author 
 */
@Data
@ApiModel(value = "订单记录",description = "记录每一笔订单信息，返回前端使用")
public class OrderInfo implements Serializable  {
    /**
     * 订单id
     */
    @ApiModelProperty(name = "id",value = "订单id",example = "1")
    private Integer id;

    /**
     * 订单号
     */
    @ApiModelProperty(name = "orderNumber",value = "订单号",example = "T202106292156050c0b4")
    private String orderNumber;

    /**
     * 用户id
     */
    @ApiModelProperty(name = "userId",value = "用户id，用户表外键",example = "2")
    private Integer userId;

    /**
     * 订单状态编号
     */
    @ApiModelProperty(name = "statusId",value = "订单状态编号，订单状态表外键",example = "2")
    private Integer statusId;

    /**
     * 地址id
     */
    @ApiModelProperty(name = "addressId",value = "地址id，地址表外键",example = "2")
    private Integer addressId;

    /**
     * 订单金额
     */
    @ApiModelProperty(name = "orderAmount",value = "订单金额，原价",example = "232.00")
    private BigDecimal orderAmount;

    /**
     * 付款金额
     */
    @ApiModelProperty(name = "payAmount",value = "付款金额，实际价格",example = "232.00")
    private BigDecimal payAmount;

    /**
     * 是否使用优惠券
     */
    @ApiModelProperty(name = "payAmount",value = "是否使用优惠券，0-未使用，1-使用",example = "0")
    private Integer usedCoupon;

    /**
     * 支付交易号
     */
    @ApiModelProperty(name = "outTradeNo",value = "支付交易号")
    private String outTradeNo;

    /**
     * 物流单号
     */
    @ApiModelProperty(name = "trackNo",value = "物流单号，需要真实存在的",example = "75478200412465")
    private String trackNo;

    /**
     * 创建时间
     */
    @ApiModelProperty(name = "createTime",value = "创建时间",example = "2021-10-11 23:22:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 支付时间
     */
    @ApiModelProperty(name = "payTime",value = "支付时间",example = "2021-10-11 23:22:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 发货时间
     */
    @ApiModelProperty(name = "sendTime",value = "发货时间",example = "2021-10-11 23:22:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;

    /**
     * 收货时间
     */
    @ApiModelProperty(name = "receiveTime",value = "收货时间",example = "2021-10-11 23:22:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveTime;

    /**
     * 是否删除
     */
    @ApiModelProperty(name = "isUserDelete",value = "是否删除,0-未删除，1-已删除。",example = "0")
    private Integer isUserDelete;

    private static final long serialVersionUID = 1L;

    /**
     * 订单详情
     */
    private List<OrderItem> orderItemList;
}